home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / comm / term / term34Source.lha / termARexxData.c < prev    next >
C/C++ Source or Header  |  1993-07-16  |  31KB  |  729 lines

  1. /*
  2. **    termARexxData.c
  3. **
  4. **    Declarations for ARexx interface data
  5. **
  6. **    Copyright © 1990-1993 by Olaf `Olsen' Barthel & MXM
  7. **        All Rights Reserved
  8. */
  9.  
  10. #include "termARexxGlobal.h"
  11. #include "termARexxAttributes.h"
  12.  
  13. STATIC STRPTR ParityMappings[] =
  14. {
  15.     "NONE",
  16.     "EVEN",
  17.     "ODD",
  18.     "MARK",
  19.     "SPACE",
  20.     NULL
  21. };
  22.  
  23. STATIC STRPTR HandshakingMappings[] =
  24. {
  25.     "NONE",
  26.     "RTSCTS",
  27.     "RTSCTSDSR",
  28.     NULL
  29. };
  30.  
  31. STATIC STRPTR DuplexMappings[] =
  32. {
  33.     "FULL",
  34.     "HALF",
  35.     NULL
  36. };
  37.  
  38. STATIC STRPTR ColourMappings[] =
  39. {
  40.     "FOUR",
  41.     "EIGHT",
  42.     "SIXTEEN",
  43.     "TWO",
  44.     NULL
  45. };
  46.  
  47. STATIC STRPTR StatusMappings[] =
  48. {
  49.     "DISABLED",
  50.     "STANDARD",
  51.     "COMPRESSED",
  52.     NULL
  53. };
  54.  
  55. STATIC STRPTR BellMappings[] =
  56. {
  57.     "NONE",
  58.     "VISIBLE",
  59.     "AUDIBLE",
  60.     "BOTH",
  61.     "SYSTEM",
  62.     NULL
  63. };
  64.  
  65. STATIC STRPTR AlertMappings[] =
  66. {
  67.     "NONE",
  68.     "BELL",
  69.     "SCREEN",
  70.     "BOTH",
  71.     NULL
  72. };
  73.  
  74. STATIC STRPTR EmulationMappings[] =
  75. {
  76.     "INTERNAL",
  77.     "ATOMIC",
  78.     "TTY",
  79.     "EXTERNAL",
  80.     "HEX",
  81.     NULL
  82. };
  83.  
  84. STATIC STRPTR FontMappings[] =
  85. {
  86.     "STANDARD",
  87.     "IBM",
  88.     "IBMRAW",
  89.     NULL
  90. };
  91.  
  92. STATIC STRPTR CRMappings[] =
  93. {
  94.     "IGNORE",
  95.     "CR",
  96.     "CRLF",
  97.     NULL
  98. };
  99.  
  100. STATIC STRPTR LFMappings[] =
  101. {
  102.     "IGNORE",
  103.     "LF",
  104.     "LFCR",
  105.     NULL
  106. };
  107.  
  108. STATIC STRPTR IdentifyMappings[] =
  109. {
  110.     "IGNORE",
  111.     "FILETYPE",
  112.     "SOURCE",
  113.     NULL
  114. };
  115.  
  116. STATIC STRPTR ApplicationMappings[] =
  117. {
  118.     "STANDARD",
  119.     "APPLICATION",
  120.     NULL
  121. };
  122.  
  123. STATIC STRPTR FontScaleMappings[] =
  124. {
  125.     "NORMAL",
  126.     "HALF",
  127.     NULL
  128. };
  129.  
  130. STATIC STRPTR ScrollMappings[] =
  131. {
  132.     "JUMP",
  133.     "SMOOTH",
  134.     NULL
  135. };
  136.  
  137. STATIC STRPTR SexMappings[] =
  138. {
  139.     "MALE",
  140.     "FEMALE",
  141.     NULL
  142. };
  143.  
  144. STATIC STRPTR OnlineMappings[] =
  145. {
  146.     "TIME",
  147.     "COST",
  148.     "BOTH",
  149.     NULL
  150. };
  151.  
  152. STATIC STRPTR AutoDateMappings[] =
  153. {
  154.     "NAME",
  155.     "INCLUDE",
  156.     NULL
  157. };
  158.  
  159. STATIC STRPTR PacingMappings[] =
  160. {
  161.     "DIRECT",
  162.     "ECHO",
  163.     "ANYECHO",
  164.     "PROMPT",
  165.     "DELAY",
  166.     "KEYBOARD",
  167.     NULL
  168. };
  169.  
  170. STATIC STRPTR OpenBufferMappings[] =
  171. {
  172.     "TOP",
  173.     "END",
  174.     NULL
  175. };
  176.  
  177. STATIC STRPTR BufferPositionMappings[] =
  178. {
  179.     "LEFT",
  180.     "MID",
  181.     "RIGHT",
  182.     NULL
  183. };
  184.  
  185. struct AttributeEntry AttributeTable[] =
  186. {
  187.     0,    "TERM",                INFO_STEM,    TRUE,    NULL,            ATTR_APPLICATION,
  188.  
  189.     1,     "VERSION",            INFO_TEXT,    TRUE,    NULL,            ATTR_APPLICATION_VERSION,
  190.     1,     "SCREEN",            INFO_TEXT,    TRUE,    NULL,            ATTR_APPLICATION_SCREEN,
  191.  
  192.     1,     "SESSION",            INFO_STEM,    TRUE,    NULL,            ATTR_APPLICATION_SESSION,
  193.     2,      "ONLINE",            INFO_BOOLEAN,    TRUE,    NULL,            ATTR_APPLICATION_SESSION_ONLINE,
  194.     2,      "SESSIONSTART",        INFO_TEXT,    TRUE,    NULL,            ATTR_APPLICATION_SESSION_SESSIONSTART,
  195.     2,      "BYTESSENT",            INFO_NUMERIC,    TRUE,    NULL,            ATTR_APPLICATION_SESSION_BYTESSENT,
  196.     2,      "BYTESRECEIVED",        INFO_NUMERIC,    TRUE,    NULL,            ATTR_APPLICATION_SESSION_BYTESRECEIVED,
  197.     2,      "CONNECTMESSAGE",        INFO_TEXT,    TRUE,    NULL,            ATTR_APPLICATION_SESSION_CONNECTMESSAGE,
  198.     2,      "BBSNAME",            INFO_TEXT,    TRUE,    NULL,            ATTR_APPLICATION_SESSION_BBSNAME,
  199.     2,      "BBSNUMBER",            INFO_TEXT,    TRUE,    NULL,            ATTR_APPLICATION_SESSION_BBSNUMBER,
  200.     2,      "BBSCOMMENT",            INFO_TEXT,    TRUE,    NULL,            ATTR_APPLICATION_SESSION_BBSCOMMENT,
  201.     2,      "USERNAME",            INFO_TEXT,    TRUE,    NULL,            ATTR_APPLICATION_SESSION_USERNAME,
  202.     2,      "ONLINEMINUTES",        INFO_NUMERIC,    TRUE,    NULL,            ATTR_APPLICATION_SESSION_ONLINEMINUTES,
  203.     2,      "ONLINECOST",            INFO_NUMERIC,    TRUE,    NULL,            ATTR_APPLICATION_SESSION_ONLINECOST,
  204.  
  205.     1,     "AREXX",            INFO_TEXT,    TRUE,    NULL,            ATTR_APPLICATION_AREXX,
  206.     1,     "LASTERROR",            INFO_NUMERIC,    TRUE,    NULL,            ATTR_APPLICATION_LASTERROR,
  207.  
  208.     1,     "TERMINAL",            INFO_STEM,    TRUE,    NULL,            ATTR_APPLICATION_TERMINAL,
  209.     2,      "ROWS",            INFO_NUMERIC,    TRUE,    NULL,            ATTR_APPLICATION_TERMINAL_ROWS,
  210.     2,      "COLUMNS",            INFO_NUMERIC,    TRUE,    NULL,            ATTR_APPLICATION_TERMINAL_COLUMNS,
  211.  
  212.     1,     "BUFFER",            INFO_STEM,    TRUE,    NULL,            ATTR_APPLICATION_BUFFER,
  213.     2,      "SIZE",            INFO_NUMERIC,    TRUE,    NULL,            ATTR_APPLICATION_BUFFER_SIZE,
  214.  
  215.     0,    "SERIALPREFS",            INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_SERIAL,
  216.     1,     "BAUDRATE",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_SERIAL_BAUDRATE,
  217.     1,     "BREAKLENGTH",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_SERIAL_BREAKLENGTH,
  218.     1,     "BUFFERSIZE",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_SERIAL_BUFFERSIZE,
  219.     1,     "DEVICENAME",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_SERIAL_DEVICENAME,
  220.     1,     "UNIT",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_SERIAL_UNIT,
  221.     1,     "BITSPERCHAR",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_SERIAL_BITSPERCHAR,
  222.     1,     "PARITYMODE",            INFO_MAPPED,    FALSE,    ParityMappings,        ATTR_PREFS_SERIAL_PARITYMODE,
  223.     1,     "STOPBITS",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_SERIAL_STOPBITS,
  224.     1,     "HANDSHAKINGMODE",        INFO_MAPPED,    FALSE,    HandshakingMappings,    ATTR_PREFS_SERIAL_HANDSHAKINGMODE,
  225.     1,     "DUPLEXMODE",            INFO_MAPPED,    FALSE,    DuplexMappings,        ATTR_PREFS_SERIAL_DUPLEXMODE,
  226.     1,     "XONXOFF",            INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_SERIAL_XONXOFF,
  227.     1,     "HIGHSPEED",            INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_SERIAL_HIGHSPEED,
  228.     1,     "SHARED",            INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_SERIAL_SHARED,
  229.     1,     "STRIPBIT8",            INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_SERIAL_STRIPBIT8,
  230.     1,     "CARRIERCHECK",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_SERIAL_CARRIERCHECK,
  231.     1,     "PASSXONXOFFTHROUGH",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_SERIAL_PASSXONXOFFTHROUGH,
  232.     1,     "QUANTUM",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_SERIAL_QUANTUM,
  233.  
  234.     0,    "MODEMPREFS",            INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_MODEM,
  235.     1,     "MODEMINITTEXT",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_MODEM_MODEMINITTEXT,
  236.     1,     "MODEMEXITTEXT",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_MODEM_MODEMEXITTEXT,
  237.     1,     "MODEMHANGUPTEXT",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_MODEM_MODEMHANGUPTEXT,
  238.     1,     "DIALPREFIXTEXT",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_MODEM_DIALPREFIXTEXT,
  239.     1,     "DIALSUFFIXTEXT",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_MODEM_DIALSUFFIXTEXT,
  240.     1,     "NOCARRIERTEXT",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_MODEM_NOCARRIERTEXT,
  241.     1,     "NODIALTONETEXT",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_MODEM_NODIALTONETEXT,
  242.     1,     "CONNECTTEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_MODEM_CONNECTTEXT,
  243.     1,     "VOICETEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_MODEM_VOICETEXT,
  244.     1,     "RINGTEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_MODEM_RINGTEXT,
  245.     1,     "BUSYTEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_MODEM_BUSYTEXT,
  246.     1,     "OKTEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_MODEM_OKTEXT,
  247.     1,     "ERRORTEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_MODEM_ERRORTEXT,
  248.     1,     "REDIALDELAY",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_MODEM_REDIALDELAY,
  249.     1,     "DIALRETRIES",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_MODEM_DIALRETRIES,
  250.     1,     "DIALTIMEOUT",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_MODEM_DIALTIMEOUT,
  251.     1,     "CONNECTAUTOBAUD",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_MODEM_CONNECTAUTOBAUD,
  252.     1,     "HANGUPDROPSDTR",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_MODEM_HANGUPDROPSDTR,
  253.     1,     "REDIALAFTERHANGUP",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_MODEM_REDIALAFTERHANGUP,
  254.     1,     "NOCARRIERISBUSY",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_MODEM_NOCARRIERISBUSY,
  255.     1,     "CONNECTLIMIT",        INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_MODEM_CONNECTLIMIT,
  256.     1,     "CONNECTLIMITMACRO",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_MODEM_CONNECTLIMITMACRO,
  257.     1,     "TIMETOCONNECT",        INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_MODEM_TIME_TO_CONNECT,
  258.  
  259.     0,    "COMMANDPREFS",            INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_COMMANDS,
  260.     1,     "STARTUPMACROTEXT",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_COMMANDS_STARTUPMACROTEXT,
  261.     1,     "LOGOFFMACROTEXT",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_COMMANDS_LOGOFFMACROTEXT,
  262.     1,     "UPLOADMACROTEXT",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_COMMANDS_UPLOADMACROTEXT,
  263.     1,     "DOWNLOADMACROTEXT",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_COMMANDS_DOWNLOADMACROTEXT,
  264.  
  265.     0,    "SCREENPREFS",            INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_SCREEN,
  266.     1,     "COLOURMODE",            INFO_MAPPED,    FALSE,    ColourMappings,        ATTR_PREFS_SCREEN_COLOURMODE,
  267.     1,     "FONTNAME",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_SCREEN_FONTNAME,
  268.     1,     "FONTSIZE",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_SCREEN_FONTSIZE,
  269.     1,     "MAKESCREENPUBLIC",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_SCREEN_MAKESCREENPUBLIC,
  270.     1,     "SHANGHAIWINDOWS",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_SCREEN_SHANGHAIWINDOWS,
  271.     1,     "BLINKING",            INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_SCREEN_BLINKING,
  272.     1,     "FASTERLAYOUT",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_SCREEN_FASTERLAYOUT,
  273.     1,     "TITLEBAR",            INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_SCREEN_TITLEBAR,
  274.     1,     "STATUSLINEMODE",        INFO_MAPPED,    FALSE,    StatusMappings,        ATTR_PREFS_SCREEN_STATUSLINEMODE,
  275.     1,     "USEPUBSCREEN",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_SCREEN_USEWORKBENCH,
  276.     1,     "PUBSCREENNAME",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_SCREEN_PUBSCREENNAME,
  277.     1,     "ONLINEDISPLAY",        INFO_MAPPED,    FALSE,    OnlineMappings,        ATTR_PREFS_SCREEN_ONLINEDISPLAY,
  278.  
  279.     0,    "TERMINALPREFS",        INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_TERMINAL,
  280.     1,     "BELLMODE",            INFO_MAPPED,    FALSE,    BellMappings,        ATTR_PREFS_TERMINAL_BELLMODE,
  281.     1,     "ALERTMODE",            INFO_MAPPED,    FALSE,    AlertMappings,        ATTR_PREFS_TERMINAL_ALERTMODE,
  282.     1,     "EMULATIONMODE",        INFO_MAPPED,    FALSE,    EmulationMappings,    ATTR_PREFS_TERMINAL_EMULATIONMODE,
  283.     1,     "FONTMODE",            INFO_MAPPED,    FALSE,    FontMappings,        ATTR_PREFS_TERMINAL_FONTMODE,
  284.     1,     "SENDCRMODE",            INFO_MAPPED,    FALSE,    CRMappings,        ATTR_PREFS_TERMINAL_SENDCRMODE,
  285.     1,     "SENDLFMODE",            INFO_MAPPED,    FALSE,    LFMappings,        ATTR_PREFS_TERMINAL_SENDLFMODE,
  286.     1,     "RECEIVECRMODE",        INFO_MAPPED,    FALSE,    CRMappings,        ATTR_PREFS_TERMINAL_RECEIVECRMODE,
  287.     1,     "RECEIVELFMODE",        INFO_MAPPED,    FALSE,    LFMappings,        ATTR_PREFS_TERMINAL_RECEIVELFMODE,
  288.     1,     "NUMCOLUMNS",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_TERMINAL_NUMCOLUMNS,
  289.     1,     "NUMLINES",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_TERMINAL_NUMLINES,
  290.     1,     "KEYMAPNAME",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_TERMINAL_KEYMAPNAME,
  291.     1,     "EMULATIONNAME",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_TERMINAL_EMULATIONNAME,
  292.     1,     "FONTNAME",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_TERMINAL_FONTNAME,
  293.     1,     "FONTSIZE",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_TERMINAL_FONTSIZE,
  294.  
  295.     0,    "PATHPREFS",            INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_PATHS,
  296.     1,     "ASCIIUPLOADPATH",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_PATHS_ASCIIUPLOADPATH,
  297.     1,     "ASCIIDOWNLOADPATH",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_PATHS_ASCIIDOWNLOADPATH,
  298.     1,     "TEXTUPLOADPATH",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_PATHS_TEXTUPLOADPATH,
  299.     1,     "TEXTDOWNLOADPATH",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_PATHS_TEXTDOWNLOADPATH,
  300.     1,     "BINARYUPLOADPATH",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_PATHS_BINARYUPLOADPATH,
  301.     1,     "BINARYDOWNLOADPATH",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_PATHS_BINARYDOWNLOADPATH,
  302.     1,     "CONFIGPATH",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_PATHS_CONFIGPATH,
  303.     1,     "EDITORNAME",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_PATHS_EDITORNAME,
  304.     1,     "HELPFILENAME",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_PATHS_HELPFILENAME,
  305.  
  306.     0,    "MISCPREFS",            INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_MISC,
  307.     1,     "PRIORITY",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_MISC_PRIORITY,
  308.     1,     "BACKUPCONFIG",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_MISC_BACKUPCONFIG,
  309.     1,     "OPENFASTMACROPANEL",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_MISC_OPENFASTMACROPANEL,
  310.     1,     "RELEASEDEVICE",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_MISC_RELEASEDEVICE,
  311.     1,     "OVERRIDEPATH",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_MISC_OVERRIDEPATH,
  312.     1,     "AUTOUPLOAD",            INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_MISC_AUTOUPLOAD,
  313.     1,     "SETARCHIVEDBIT",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_MISC_SETARCHIVEDBIT,
  314.     1,     "COMMENTMODE",            INFO_MAPPED,    FALSE,    IdentifyMappings,    ATTR_PREFS_MISC_COMMENTMODE,
  315.     1,     "TRANSFERICONS",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_MISC_TRANSFERICONS,
  316.     1,     "CREATEICONS",            INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_MISC_CREATEICONS,
  317.     1,     "SIMPLEIO",            INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_MISC_SIMPLEIO,
  318.     1,     "TRANSFERPERFMETER",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_MISC_TRANSFER_PERFMETER,
  319.  
  320.     0,    "CLIPBOARDPREFS",        INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_CLIPBOARD,
  321.     1,     "UNIT",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_CLIPBOARD_UNIT,
  322.     1,     "LINEDELAY",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_CLIPBOARD_LINEDELAY,
  323.     1,     "CHARDELAY",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_CLIPBOARD_CHARDELAY,
  324.     1,     "INSERTPREFIXTEXT",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CLIPBOARD_INSERTPREFIXTEXT,
  325.     1,     "INSERTSUFFIXTEXT",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CLIPBOARD_INSERTSUFFIXTEXT,
  326.     1,     "LINEPROMPTTEXT",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CLIPBOARD_LINEPROMPT,
  327.     1,     "TEXTPACING",            INFO_MAPPED,    FALSE,    PacingMappings,        ATTR_PREFS_CLIPBOARD_TEXTPACING,
  328.     1,     "TEXTPACING",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_CLIPBOARD_SENDTIMEOUT,
  329.  
  330.     0,    "CAPTUREPREFS",            INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_CAPTURE,
  331.     1,     "LOGACTIONS",            INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_CAPTURE_LOGACTIONS,
  332.     1,     "LOGCALLS",            INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_CAPTURE_LOGCALLS,
  333.     1,     "LOGFILENAME",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CAPTURE_LOGFILENAME,
  334.     1,     "MAXBUFFERSIZE",        INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_CAPTURE_MAXBUFFERSIZE,
  335.     1,     "BUFFER",            INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_CAPTURE_BUFFER,
  336.     1,     "CONNECTAUTOCAPTURE",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_CAPTURE_CONNECTAUTOCAPTURE,
  337.     1,     "AUTOCAPTUREDATE",        INFO_MAPPED,    FALSE,    AutoDateMappings,    ATTR_PREFS_CAPTURE_AUTOCAPTUREDATE,
  338.     1,     "CAPTUREFILTER",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_CAPTURE_CAPTUREFILTER,
  339.     1,     "CAPTUREPATH",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CAPTURE_CAPTUREPATH,
  340.     1,     "CALLLOGFILENAME",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CAPTURE_CALLLOGFILENAME,
  341.     1,     "BUFFERSAVEPATH",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CAPTURE_BUFFERSAVEPATH,
  342.     1,     "OPENBUFFERWINDOW",        INFO_MAPPED,    FALSE,    OpenBufferMappings,    ATTR_PREFS_CAPTURE_OPENBUFFERWINDOW,
  343.     1,     "OPENBUFFERSCREEN",        INFO_MAPPED,    FALSE,    OpenBufferMappings,    ATTR_PREFS_CAPTURE_OPENBUFFERSCREEN,
  344.     1,     "BUFFERSCREENPOSITION",    INFO_MAPPED,    FALSE,    BufferPositionMappings,    ATTR_PREFS_CAPTURE_BUFFERSCREENPOSITION,
  345.     1,     "BUFFERWIDTH",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_CAPTURE_BUFFERWIDTH,
  346.     1,     "REMEMBERBUFFERWINDOW",    INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_CAPTURE_REMEMBER_BUFFERWINDOW,
  347.     1,     "REMEMBERBUFFERSCREEN",    INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_CAPTURE_REMEMBER_BUFFERSCREEN,
  348.  
  349.     0,    "FILEPREFS",            INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_FILE,
  350.     1,     "TRANSFERPROTOCOLNAME",    INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_FILE_TRANSFERPROTOCOLNAME,
  351.     1,     "TRANSLATIONFILENAME",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_FILE_TRANSLATIONFILENAME,
  352.     1,     "MACROFILENAME",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_FILE_MACROFILENAME,
  353.     1,     "CURSORFILENAME",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_FILE_CURSORFILENAME,
  354.     1,     "FASTMACROFILENAME",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_FILE_FASTMACROFILENAME,
  355.  
  356.     0,    "EMULATIONPREFS",        INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_EMULATION,
  357.     1,     "CURSORMODE",            INFO_MAPPED,    FALSE,    ApplicationMappings,    ATTR_PREFS_EMULATION_CURSORMODE,
  358.     1,     "NUMERICMODE",            INFO_MAPPED,    FALSE,    ApplicationMappings,    ATTR_PREFS_EMULATION_NUMERICMODE,
  359.     1,     "CURSORWRAP",            INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_EMULATION_CURSORWRAP,
  360.     1,     "LINEWRAP",            INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_EMULATION_LINEWRAP,
  361.     1,     "INSERTMODE",            INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_EMULATION_INSERTMODE,
  362.     1,     "NEWLINEMODE",            INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_EMULATION_NEWLINEMODE,
  363.     1,     "FONTSCALEMODE",        INFO_MAPPED,    FALSE,    FontScaleMappings,    ATTR_PREFS_EMULATION_FONTSCALEMODE,
  364.     1,     "SCROLLMODE",            INFO_MAPPED,    FALSE,    ScrollMappings,        ATTR_PREFS_EMULATION_SCROLLMODE,
  365.     1,     "DESTRUCTIVEBACKSPACE",    INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_EMULATION_DESTRUCTIVEBACKSPACE,
  366.     1,     "SWAPBSDELETE",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_EMULATION_SWAPBSDELETE,
  367.     1,     "PRINTERENABLED",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_EMULATION_PRINTERENABLED,
  368.     1,     "ANSWERBACKTEXT",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_EMULATION_ANSWERBACKTEXT,
  369.     1,     "CLSRESETSCURSOR",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_EMULATION_CLS_RESETS_CURSOR,
  370.  
  371.     0,    "TRANSFERPREFS",        INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_TRANSFER,
  372.     1,     "DEFAULTLIBRARY",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_TRANSFER_DEFAULT_LIBRARY,
  373.     1,     "ASCIIUPLOADLIBRARY",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_TRANSFER_ASCII_UPLOAD_LIBRARY,
  374.     1,     "INTERNALASCIIUPLOAD",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_TRANSFER_INTERNAL_ASCII_UPLOAD,
  375.     1,     "ASCIIDOWNLOADLIBRARY",    INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_TRANSFER_ASCII_DOWNLOAD_LIBRARY,
  376.     1,     "INTERNALASCIIDOWNLOAD",    INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_TRANSFER_INTERNAL_ASCII_DOWNLOAD,
  377.     1,     "QUIETTRANSFER",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_TRANSFER_QUIET_TRANSFER,
  378.     1,     "TEXTUPLOADLIBRARY",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_TRANSFER_TEXT_UPLOAD_LIBRARY,
  379.     1,     "TEXTDOWNLOADLIBRARY",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_TRANSFER_TEXT_DOWNLOAD_LIBRARY,
  380.     1,     "BINARYUPLOADLIBRARY",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_TRANSFER_BINARY_UPLOAD_LIBRARY,
  381.     1,     "BINARYDOWNLOADLIBRARY",    INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_TRANSFER_BINARY_DOWNLOAD_LIBRARY,
  382.  
  383.     0,    "SPEECHPREFS",            INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_SPEECH,
  384.     1,     "RATE",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_SPEECH_RATE,
  385.     1,     "PITCH",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_SPEECH_PITCH,
  386.     1,     "FREQUENCY",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_SPEECH_FREQUENCY,
  387.     1,     "SEXMODE",            INFO_MAPPED,    FALSE,    SexMappings,        ATTR_PREFS_SPEECH_SEXMODE,
  388.     1,     "VOLUME",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_SPEECH_VOLUME,
  389.     1,     "SPEECH",            INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_SPEECH_SPEECH,
  390.  
  391.     0,    "TRANSLATIONPREFS",        INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_TRANSLATIONS,
  392.     1,     NULL,                INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_TRANSLATIONS_X,
  393.     2,     "SEND",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_TRANSLATIONS_X_SEND,
  394.     2,     "RECEIVE",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_TRANSLATIONS_X_RECEIVE,
  395.  
  396.     0,    "FASTMACROPREFS",        INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_FASTMACROS,
  397.     1,     "COUNT",            INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_FASTMACROS_COUNT,
  398.     1,      NULL,                INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_FASTMACROS_X,
  399.     2,      "NAME",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_FASTMACROS_X_NAME,
  400.     2,      "CODE",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_FASTMACROS_X_CODE,
  401.  
  402.     0,    "HOTKEYPREFS",            INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_HOTKEYS,
  403.     1,     "TERMSCREENTOFRONTTEXT",    INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_HOTKEYS_TERMSCREENTOFRONTTEXT,
  404.     1,     "BUFFERSCREENTOFRONTTEXT",    INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_HOTKEYS_BUFFERSCREENTOFRONTTEXT,
  405.     1,     "SKIPDIALENTRYTEXT",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_HOTKEYS_SKIPDIALENTRYTEXT,
  406.     1,     "ABORTAREXX",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_HOTKEYS_ABORTAREXX,
  407.     1,     "COMMODITYPRIORITY",        INFO_NUMERIC,    FALSE,    NULL,            ATTR_PREFS_HOTKEYS_COMMODITYPRIORITY,
  408.     1,     "HOTKEYSENABLED",        INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_HOTKEYS_HOTKEYSENABLED,
  409.  
  410.     0,    "CURSORKEYPREFS",        INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_CURSORKEYS,
  411.     1,     "UPTEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CURSORKEYS_UPTEXT,
  412.     1,     "RIGHTTEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CURSORKEYS_RIGHTTEXT,
  413.     1,     "DOWNTEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CURSORKEYS_DOWNTEXT,
  414.     1,     "LEFTTEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CURSORKEYS_LEFTTEXT,
  415.  
  416.     1,     "SHIFT",            INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_CURSORKEYS_SHIFT,
  417.     2,      "UPTEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CURSORKEYS_SHIFT_UPTEXT,
  418.     2,      "RIGHTTEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CURSORKEYS_SHIFT_RIGHTTEXT,
  419.     2,      "DOWNTEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CURSORKEYS_SHIFT_DOWNTEXT,
  420.     2,      "LEFTTEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CURSORKEYS_SHIFT_LEFTTEXT,
  421.  
  422.     1,     "ALT",                INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_CURSORKEYS_ALT,
  423.     2,      "UPTEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CURSORKEYS_ALT_UPTEXT,
  424.     2,      "RIGHTTEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CURSORKEYS_ALT_RIGHTTEXT,
  425.     2,      "DOWNTEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CURSORKEYS_ALT_DOWNTEXT,
  426.     2,      "LEFTTEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CURSORKEYS_ALT_LEFTTEXT,
  427.  
  428.     1,     "CONTROL",            INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_CURSORKEYS_CONTROL,
  429.     2,      "UPTEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CURSORKEYS_CONTROL_UPTEXT,
  430.     2,      "RIGHTTEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CURSORKEYS_CONTROL_RIGHTTEXT,
  431.     2,      "DOWNTEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CURSORKEYS_CONTROL_DOWNTEXT,
  432.     2,      "LEFTTEXT",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CURSORKEYS_CONTROL_LEFTTEXT,
  433.  
  434.     0,    "FUNCTIONKEYPREFS",        INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_FUNCTIONKEYS,
  435.     1,      NULL,                INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_FUNCTIONKEYS_X,
  436.     1,     "SHIFT",            INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_FUNCTIONKEYS_SHIFT,
  437.     2,       NULL,            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_FUNCTIONKEYS_SHIFT_X,
  438.     1,     "ALT",                INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_FUNCTIONKEYS_ALT,
  439.     2,       NULL,            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_FUNCTIONKEYS_ALT_X,
  440.     1,     "CONTROL",            INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_FUNCTIONKEYS_CONTROL,
  441.     2,       NULL,            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_FUNCTIONKEYS_CONTROL_X,
  442.  
  443.     0,    "PROTOCOLPREFS",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_PROTOCOL,
  444.  
  445.     0,    "CONSOLEPREFS",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_CONSOLE,
  446.  
  447.     0,    "SOUNDPREFS",            INFO_STEM,    FALSE,    NULL,            ATTR_PREFS_SOUND,
  448.     1,     "BELLNAME",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_SOUND_BELLNAME,
  449.     1,     "CONNECTNAME",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_SOUND_CONNECTNAME,
  450.     1,     "DISCONNECTNAME",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_SOUND_DISCONNECTNAME,
  451.     1,     "GOODTRANSFERNAME",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_SOUND_GOODTRANSFERNAME,
  452.     1,     "BADTRANSFERNAME",        INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_SOUND_BADTRANSFERNAME,
  453.     1,     "RINGNAME",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_SOUND_RINGNAME,
  454.     1,     "VOICENAME",            INFO_TEXT,    FALSE,    NULL,            ATTR_PREFS_SOUND_VOICENAME,
  455.     1,     "PRELOAD",            INFO_BOOLEAN,    FALSE,    NULL,            ATTR_PREFS_SOUND_PRELOAD,
  456.  
  457.     0,    "PHONEBOOK",            INFO_STEM,    TRUE,    NULL,            ATTR_PHONEBOOK,
  458.  
  459.     1,     "COUNT",            INFO_NUMERIC,    TRUE,    NULL,            ATTR_PHONEBOOK_COUNT,
  460.     1,      NULL,                INFO_STEM,    TRUE,    NULL,            ATTR_PHONEBOOK_X,
  461.     2,      "NAME",            INFO_TEXT,    TRUE,    NULL,            ATTR_PHONEBOOK_X_NAME,
  462.     2,      "NUMBER",            INFO_TEXT,    TRUE,    NULL,            ATTR_PHONEBOOK_X_NUMBER,
  463.     2,      "COMMENTTEXT",        INFO_TEXT,    TRUE,    NULL,            ATTR_PHONEBOOK_X_COMMENTTEXT,
  464.     2,      "USERNAME",            INFO_TEXT,    TRUE,    NULL,            ATTR_PHONEBOOK_X_USERNAME,
  465.     2,      "PASSWORDTEXT",        INFO_TEXT,    TRUE,    NULL,            ATTR_PHONEBOOK_X_PASSWORDTEXT
  466. };
  467.  
  468. LONG AttributeTableSize = sizeof(AttributeTable) / sizeof(struct AttributeEntry);
  469.  
  470.     /* Information on arguments to exclude each other.*/
  471.  
  472. STATIC struct ExclusionInfo ExclusionInfoTable_00[] =
  473. {
  474.     1,2, 3,4, -1,-1
  475. };
  476.  
  477. STATIC struct ExclusionInfo ExclusionInfoTable_01[] =
  478. {
  479.     0,1, -1,-1
  480. };
  481.  
  482. STATIC struct ExclusionInfo ExclusionInfoTable_02[] =
  483. {
  484.     2,3, -1,-1
  485. };
  486.  
  487. STATIC struct ExclusionInfo ExclusionInfoTable_03[] =
  488. {
  489.     0,1, 0,2, 0,3, 0,4, 1,2, 1,3, 1,4, 2,3, 2,4, 3,4, -1,-1
  490. };
  491.  
  492. STATIC struct ExclusionInfo ExclusionInfoTable_04[] =
  493. {
  494.     0,1, 0,2, 1,2, -1,-1
  495. };
  496.  
  497. STATIC struct ExclusionInfo ExclusionInfoTable_05[] =
  498. {
  499.     0,2, 0,3, 0,4, 0,5, 2,3, 2,4, 2,5, 3,4, 3,5, 4,5, -1,-1
  500. };
  501.  
  502. STATIC struct ExclusionInfo ExclusionInfoTable_06[] =
  503. {
  504.     2,3, -1,-1
  505. };
  506.  
  507. STATIC struct ExclusionInfo ExclusionInfoTable_07[] =
  508. {
  509.     0,1, -1,-1
  510. };
  511.  
  512. STATIC struct ExclusionInfo ExclusionInfoTable_08[] =
  513. {
  514.     0,1, -1,-1
  515. };
  516.  
  517. STATIC struct ExclusionInfo ExclusionInfoTable_09[] =
  518. {
  519.     0,1, -1,-1
  520. };
  521.  
  522. STATIC struct ExclusionInfo ExclusionInfoTable_10[] =
  523. {
  524.     1,2, 2,3, 2,4, 2,5, 2,6, 2,7, 2,8, 2,9, 2,10, 2,11, 4,5, 6,7, 8,9, 8,10, 8,11, 9,10, 9,11, 10,11, -1,-1
  525. };
  526.  
  527.     /* This is where the information on what arguments exclude
  528.      * other arguments is linked to the actual commands.
  529.      */
  530.  
  531. struct ExclusionInfo *ExclusionTable[] =
  532. {
  533.     /* ACTIVATE */        NULL,
  534.     /* ADD */        ExclusionInfoTable_00,
  535.     /* BAUD */        NULL,
  536.     /* BEEPSCREEN */    NULL,
  537.     /* CALLMENU */        NULL,
  538.     /* CAPTURE */        NULL,
  539.     /* CLEAR */        NULL,
  540.     /* CLEARSCREEN */    NULL,
  541.     /* CLOSE */        NULL,
  542.     /* CLOSEDEVICE */    NULL,
  543.     /* CLOSEREQUESTER */    NULL,
  544.     /* DEACTIVATE */    NULL,
  545.     /* DELAY */        NULL,
  546.     /* DIAL */        NULL,
  547.     /* DUPLEX */        ExclusionInfoTable_01,
  548.     /* EXECTOOL */        NULL,
  549.     /* FAULT */        NULL,
  550.     /* GETATTR */        ExclusionInfoTable_02,
  551.     /* GETCLIP */        NULL,
  552.     /* HANGUP */        NULL,
  553.     /* HELP */        NULL,
  554.     /* OPEN */        NULL,
  555.     /* OPENDEVICE */    NULL,
  556.     /* OPENREQUESTER */    NULL,
  557.     /* PARITY */        ExclusionInfoTable_03,
  558.     /* PASTECLIP */        NULL,
  559.     /* PRINT */        NULL,
  560.     /* PROTOCOL */        ExclusionInfoTable_04,
  561.     /* PUTCLIP */        NULL,
  562.     /* QUIT */        NULL,
  563.     /* READ */        ExclusionInfoTable_01,
  564.     /* RECEIVEFILE */    NULL,
  565.     /* REDIAL */        NULL,
  566.     /* REMOVE */        NULL,
  567.     /* REQUESTFILE */    NULL,
  568.     /* REQUESTNOTIFY */    NULL,
  569.     /* REQUESTNUMBER */    NULL,
  570.     /* REQUESTRESPONSE */    NULL,
  571.     /* REQUESTSTRING */    NULL,
  572.     /* RESETSCREEN */    NULL,
  573.     /* RESETSTYLES */    NULL,
  574.     /* RESETTEXT */        NULL,
  575.     /* RX */        NULL,
  576.     /* SAVE */        NULL,
  577.     /* SAVEAS */        NULL,
  578.     /* SELECTITEM */    ExclusionInfoTable_05,
  579.     /* SEND */        NULL,
  580.     /* SENDBREAK */        NULL,
  581.     /* SENDFILE */        NULL,
  582.     /* SETATTR */        ExclusionInfoTable_06,
  583.     /* SPEAK */        NULL,
  584.     /* STOPBITS */        ExclusionInfoTable_07,
  585.     /* TEXTBUFFER */    ExclusionInfoTable_08,
  586.     /* TIMEOUT */        ExclusionInfoTable_09,
  587.     /* WAIT */        NULL,
  588.     /* WINDOW */        ExclusionInfoTable_10,
  589. };
  590.  
  591.     /* This is where the information on which arguments (switches and keywords)
  592.      * are actually required is stored.
  593.      */
  594.  
  595. UWORD InclusionTable[] =
  596. {
  597.     /* ACTIVATE */        NULL,
  598.     /* ADD */        INCLUDE_03|INCLUDE_04,
  599.     /* BAUD */        NULL,
  600.     /* BEEPSCREEN */    NULL,
  601.     /* CALLMENU */        NULL,
  602.     /* CAPTURE */        NULL,
  603.     /* CLEAR */        NULL,
  604.     /* CLEARSCREEN */    NULL,
  605.     /* CLOSE */        NULL,
  606.     /* CLOSEDEVICE */    NULL,
  607.     /* CLOSEREQUESTER */    NULL,
  608.     /* DEACTIVATE */    NULL,
  609.     /* DELAY */        INCLUDE_00|INCLUDE_01|INCLUDE_02,
  610.     /* DIAL */        NULL,
  611.     /* DUPLEX */        INCLUDE_00|INCLUDE_01,
  612.     /* EXECTOOL */        NULL,
  613.     /* FAULT */        NULL,
  614.     /* GETATTR */        NULL,
  615.     /* GETCLIP */        NULL,
  616.     /* HANGUP */        NULL,
  617.     /* HELP */        INCLUDE_00|INCLUDE_01,
  618.     /* OPEN */        NULL,
  619.     /* OPENDEVICE */    NULL,
  620.     /* OPENREQUESTER */    NULL,
  621.     /* PARITY */        INCLUDE_00|INCLUDE_01|INCLUDE_02|INCLUDE_03|INCLUDE_04,
  622.     /* PASTECLIP */        NULL,
  623.     /* PRINT */        NULL,
  624.     /* PROTOCOL */        INCLUDE_00|INCLUDE_01|INCLUDE_02,
  625.     /* PUTCLIP */        NULL,
  626.     /* QUIT */        NULL,
  627.     /* READ */        INCLUDE_00|INCLUDE_01,
  628.     /* RECEIVEFILE */    NULL,
  629.     /* REDIAL */        NULL,
  630.     /* REMOVE */        NULL,
  631.     /* REQUESTFILE */    NULL,
  632.     /* REQUESTNOTIFY */    NULL,
  633.     /* REQUESTNUMBER */    NULL,
  634.     /* REQUESTRESPONSE */    NULL,
  635.     /* REQUESTSTRING */    NULL,
  636.     /* RESETSCREEN */    NULL,
  637.     /* RESETSTYLES */    NULL,
  638.     /* RESETTEXT */        NULL,
  639.     /* RX */        NULL,
  640.     /* SAVE */        NULL,
  641.     /* SAVEAS */        INCLUDE_00|INCLUDE_02|INCLUDE_03|INCLUDE_04|INCLUDE_05,
  642.     /* SELECTITEM */    NULL,
  643.     /* SEND */        INCLUDE_02|INCLUDE_03,
  644.     /* SENDBREAK */        NULL,
  645.     /* SENDFILE */        NULL,
  646.     /* SETATTR */        INCLUDE_02|INCLUDE_03,
  647.     /* SPEAK */        NULL,
  648.     /* STOPBITS */        INCLUDE_00|INCLUDE_01,
  649.     /* TEXTBUFFER */    INCLUDE_00|INCLUDE_01,
  650.     /* TIMEOUT */        INCLUDE_00|INCLUDE_01,
  651.     /* WAIT */        NULL,
  652.     /* WINDOW */        INCLUDE_01|INCLUDE_02|INCLUDE_03|INCLUDE_04|INCLUDE_05|INCLUDE_06|INCLUDE_07|INCLUDE_08|INCLUDE_09|INCLUDE_10|INCLUDE_11,
  653. };
  654.  
  655.     /* This is where command names, arguments and the routines
  656.      * to execute the actual commands are linked together.
  657.      */
  658.  
  659. struct CommandInfo CommandTable[] =
  660. {
  661.     TRUE,    FALSE,    FALSE,    RexxActivate,        "ACTIVATE",         NULL,
  662.     FALSE,    FALSE,    FALSE,    RexxAdd,        "ADDITEM",        "TO/A,BEFORE/S,AFTER/S,PHONE/K/F,NAME/K/F",
  663.     FALSE,    FALSE,    FALSE,    RexxBaud,        "BAUD",            "RATE/A/N",
  664.     FALSE,    FALSE,    FALSE,    RexxBeepScreen,        "BEEPSCREEN",         NULL,
  665.     FALSE,    FALSE,    FALSE,    RexxCallMenu,        "CALLMENU",        "TITLE/A/F",
  666.     FALSE,    FALSE,    FALSE,    RexxCapture,        "CAPTURE",        "TO/A,NAME/K",
  667.     FALSE,    FALSE,    FALSE,    RexxClear,        "CLEAR",        "FROM/A,FORCE/S",
  668.     FALSE,    FALSE,    FALSE,    RexxClearScreen,    "CLEARSCREEN",         NULL,
  669.     FALSE,    FALSE,    FALSE,    RexxClose,        "CLOSE",        "FROM/A",
  670.     FALSE,    FALSE,    FALSE,    RexxCloseDevice,    "CLOSEDEVICE",         NULL,
  671.     TRUE,    FALSE,    FALSE,    RexxCloseRequester,    "CLOSEREQUESTER",     NULL,
  672.     FALSE,    FALSE,    FALSE,    RexxDeactivate,        "DEACTIVATE",         NULL,
  673.     FALSE,    FALSE,    FALSE,    RexxDelay,        "DELAY",        "MIC=MICROSECONDS/K/N,SEC=SECONDS/N,MIN=MINUTES/K/N,QUIET/S",
  674.     FALSE,    FALSE,    FALSE,    RexxDial,        "DIAL",            "NUM/F",
  675.     FALSE,    FALSE,    FALSE,    RexxDuplex,        "DUPLEX",        "FULL/S,HALF=ECHO/S",
  676.     TRUE,    TRUE,    TRUE,    RexxExecTool,        "EXECTOOL",        "CONSOLE/S,ASYNC/S,PORT/S,COMMAND/A/F",
  677.     TRUE,    FALSE,    FALSE,    RexxFault,        "FAULT",        "CODE/A/N",
  678.     FALSE,    FALSE,    FALSE,    RexxGetAttr,        "GETATTR",        "OBJECT/A,FIELD,STEM/K,VAR/K",
  679.     FALSE,    FALSE,    FALSE,    RexxGetClip,        "GETCLIP",        "UNIT/K/N",
  680.     FALSE,    FALSE,    FALSE,    RexxHangup,        "HANGUP",         NULL,
  681.     TRUE,    FALSE,    FALSE,    RexxHelp,        "HELP",            "COMMAND,PROMPT/S",
  682.     FALSE,    FALSE,    FALSE,    RexxOpen,        "OPEN",            "NAME/K,TO/A",
  683.     FALSE,    FALSE,    FALSE,    RexxOpenDevice,        "OPENDEVICE",        "NAME/K,UNIT/K/N",
  684.     FALSE,    FALSE,    FALSE,    RexxOpenRequester,    "OPENREQUESTER",    "REQUESTER/A",
  685.     FALSE,    FALSE,    FALSE,    RexxParity,        "PARITY",        "EVEN/S,ODD/S,NONE/S,MARK/S,SPACE/S",
  686.     FALSE,    FALSE,    FALSE,    RexxPasteClip,        "PASTECLIP",        "UNIT/K/N",
  687.     FALSE,    FALSE,    FALSE,    RexxPrint,        "PRINT",        "FROM/A,TO/K,SERIAL/S,MODEM/S,SCREEN/S,TERMINAL/S,USER/S,COMMENT/S,SIZE/S,DATE/S,ATTR/S",
  688.     FALSE,    FALSE,    FALSE,    RexxProtocol,        "PROTOCOL",        "NONE/S,RTSCTS/S,RTSCTSDTR/S",
  689.     FALSE,    FALSE,    FALSE,    RexxPutClip,        "PUTCLIP",        "UNIT/K/N,TEXT/A/F",
  690.     FALSE,    FALSE,    FALSE,    RexxQuit,        "QUIT",            "FORCE/S",
  691.     FALSE,    FALSE,    FALSE,    RexxRead,        "READ",            "NUM/K/N,CR/S,NOECHO/S,VERBATIM/S,PROMPT/K/F",
  692.     FALSE,    FALSE,    FALSE,    RexxReceiveFile,    "RECEIVEFILE",        "MODE/K,NAME/K",
  693.     FALSE,    FALSE,    FALSE,    RexxRedial,        "REDIAL",         NULL,
  694.     TRUE,    FALSE,    FALSE,    RexxRemove,        "REMITEM",        "FROM/A,NAME/K/F",
  695.     FALSE,    FALSE,    FALSE,    RexxRequestFile,    "REQUESTFILE",        "TITLE/K,PATH/K,FILE/K,PATTERN/K,MULTI/S,STEM=NAME/K",
  696.     FALSE,    FALSE,    FALSE,    RexxRequestNotify,    "REQUESTNOTIFY",    "TITLE/K,PROMPT/A/F",
  697.     FALSE,    FALSE,    FALSE,    RexxRequestNumber,    "REQUESTNUMBER",    "DEFAULT/K/N,PROMPT/K/F",
  698.     FALSE,    FALSE,    FALSE,    RexxRequestResponse,    "REQUESTRESPONSE",    "TITLE/K,OPTIONS/K,PROMPT/A/F",
  699.     FALSE,    FALSE,    FALSE,    RexxRequestString,    "REQUESTSTRING",    "SECRET/S,DEFAULT/K,PROMPT/K/F",
  700.     FALSE,    FALSE,    FALSE,    RexxResetScreen,    "RESETSCREEN",         NULL,
  701.     FALSE,    FALSE,    FALSE,    RexxResetStyles,    "RESETSTYLES",         NULL,
  702.     FALSE,    FALSE,    FALSE,    RexxResetText,        "RESETTEXT",         NULL,
  703.     TRUE,    TRUE,    TRUE,    RexxRX,            "RX",            "CONSOLE/S,ASYNC/S,COMMAND/A/F",
  704.     FALSE,    FALSE,    FALSE,    RexxSave,        "SAVE",            "FROM/A",
  705.     FALSE,    FALSE,    FALSE,    RexxSaveAs,        "SAVEAS",        "NAME/K,FROM/A",
  706.     TRUE,    FALSE,    FALSE,    RexxSelect,        "SELECTITEM",        "NAME/K,FROM/A,NEXT/S,PREV=PREVIOUS/S,TOP/S,BOTTOM/S",
  707.     FALSE,    FALSE,    FALSE,    RexxSend,        "SEND",            "NOECHO/S,LOCAL/S,BYTE/K/N,TEXT/F",
  708.     FALSE,    FALSE,    FALSE,    RexxSendBreak,        "SENDBREAK",         NULL,
  709.     FALSE,    FALSE,    FALSE,    RexxSendFile,        "SENDFILE",        "MODE/K,NAMES/M",
  710.     FALSE,    FALSE,    FALSE,    RexxSetAttr,        "SETATTR",        "OBJECT/A,FIELD,STEM/K,VAR",
  711.     TRUE,    FALSE,    FALSE,    RexxSpeak,        "SPEAK",        "TEXT/A/F",
  712.     FALSE,    FALSE,    FALSE,    RexxStopBits,        "STOPBITS",        "0/S,1/S",
  713.     FALSE,    FALSE,    FALSE,    RexxTextBuffer,        "TEXTBUFFER",        "LOCK/S,UNLOCK/S",
  714.     FALSE,    FALSE,    FALSE,    RexxTimeout,        "TIMEOUT",        "SEC=SECONDS/N,OFF/S",
  715.     FALSE,    FALSE,    FALSE,    RexxWait,        "WAIT",            "NOECHO/S,TEXT/F",
  716.     FALSE,    FALSE,    FALSE,    RexxWindow,        "WINDOW",        "NAMES/A/M,OPEN/S,CLOSE/S,ACTIVATE/S,MIN/S,MAX/S,FRONT/S,BACK/S,TOP/S,BOTTOM/S,UP/S,DOWN/S",
  717. };
  718.  
  719. LONG CommandTableSize = sizeof(CommandTable) / sizeof(struct CommandInfo);
  720.  
  721. struct MsgPort        *RexxPort        = NULL;
  722. LONG             LastRexxError        = 0;
  723. LONG             RexxTimeoutVal        = 0;
  724. BYTE             UpdateRequired        = FALSE,
  725.              TransferUpdateRequired    = FALSE;
  726.  
  727. LONG             RexxLaunchCount    = 0;
  728. struct SignalSemaphore     RexxLaunchSemaphore;
  729.